/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Itens;

import Engine.Fisica.Clip;
import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.net.URL;
import jogopoo.Efeitos.Efeito;
import jogopoo.Engine.EngineSom;
import jogopoo.Grafico.GrafCenario;

/**
 *Classe do objeto Explosao
 * @author Administrador
 */
public class Explosao extends Efeito{

      public Explosao(GrafCenario cenario,int x, int y){

        super(cenario);
        posicao.x = x;
        posicao.y = y;
        indice = 0;
        EngineSom som = new EngineSom("sons/expld1.wav");
        som.play();
    }
/**
 * Carrega imagens antes que o objeto seja instanciado
 * @param component
 * @throws InterruptedException
 */
    public static void carregarImagens(Component component) throws InterruptedException
    {
        sprite = new Image[7];
        MediaTracker mediaTracker = new MediaTracker(component);

        for(int i = 0; i < 7; ++i)
        {
            String filename = "/imagens/efeitos/sprod"+i+".png";
            URL url = Clip.class.getResource(filename);
            sprite[i] = Toolkit.getDefaultToolkit().getImage(url);
            mediaTracker.addImage(sprite[i], i);
        }

        mediaTracker.waitForAll();
    }

    @Override
    public void desenha(Graphics2D g2) {
        g2.drawImage(sprite[indice],
                posicao.x, posicao.y, cenario);

        indice++;

       if (indice == sprite.length - 1) {
            cenario.getListaEfeitos().remove(this);
        }
     }


    private static Image[] sprite;
    private int indice;
}
